/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package avl.sv.shared.sources;

import avl.sv.shared.Annotations.AnnotationSet;
import avl.sv.shared.SlideReference;
import avl.sv.shared.SlideSets;
import javax.swing.tree.DefaultMutableTreeNode;

/**
 *
 * @author benbryan
 */
abstract public class StudySource extends DefaultMutableTreeNode  {
    protected final String name;   
    protected final int id;

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }
    
    
    public StudySource(final String studyName, final int id) {
        this.name = studyName;
        this.id = id;
        super.setUserObject(studyName);
    }
    abstract public boolean isStudyCurrent();
    abstract public AnnotationSet getAnnotations(SlideReference slideReference);

    abstract public String setAnnotations(AnnotationSet annoSet);
    abstract public void clearAnnotations(SlideReference slideReference);
    abstract public void updateSlideSets();
    
    abstract public SlideSets getSlideSets();
    
    abstract public String setDescription(String description);
    abstract public String getDescription();
    abstract public String delete();   
    

}
